package org.javabasics.array;

/**
 * Created by LUOLIANG on 2016/8/29.
 * 数组在内存中的存储原理
 */
public class ArrayInRam {
    public static void main(String[] args) {
//        先定义两个数组
        int arr1[] = {1, 2, 3};
        int arr2[] = new int[4];

        System.out.print("arr1: ");
        for (int i = 0; i < arr1.length; i++) {
            System.out.print(arr1[i] + " ");
        }

        System.out.print("\narr2: ");
        for (int i = 0; i < arr2.length; i++) {
            System.out.print(arr2[i] + " ");
        }

        //数组变量存储在栈内存中，实际的数组对象却是在堆内存中，堆内存无法直接访问，只能通过数据引用来访问
        //arr2 = arr1 之后，两个变量所引用的是堆内存中的同一个数组对象
        arr2 = arr1;
        System.out.println("arr2的长度：" + arr2.length);
    }
}
